;; Key Definitions

.define KEY_SPACE $20
.define KEY_ENTER $0D
.define KEY_BACKSPACE $08
.define KEY_TAB $09
.define KEY_SHIFT_LEFT $10
.define KEY_SHIFT_RIGHT $14
.define KEY_CTRL_LEFT $11
.define KEY_CTRL_RIGHT $15
.define KEY_ARROW_UP $26
.define KEY_ARROW_DOWN $28
.define KEY_ARROW_LEFT $25
.define KEY_ARROW_RIGHT $27

;; Alpha keys
.define KEY_A $41
.define KEY_B $42
.define KEY_C $43
.define KEY_D $44
.define KEY_E $45
.define KEY_F $46
.define KEY_G $47
.define KEY_H $48
.define KEY_I $49
.define KEY_J $4A
.define KEY_K $4B
.define KEY_L $4C
.define KEY_M $4D
.define KEY_N $4E
.define KEY_O $4F
.define KEY_P $50
.define KEY_Q $51
.define KEY_R $52
.define KEY_S $53
.define KEY_T $54
.define KEY_U $55
.define KEY_V $56
.define KEY_W $57
.define KEY_X $58
.define KEY_Y $59
.define KEY_Z $5A

;; Numeric keys
.define KEY_0 $30
.define KEY_1 $31
.define KEY_2 $32
.define KEY_3 $33
.define KEY_4 $34
.define KEY_5 $35
.define KEY_6 $36
.define KEY_7 $37
.define KEY_8 $38
.define KEY_9 $39

;; Function keys
.define KEY_F1 $70
.define KEY_F2 $71
.define KEY_F3 $72
.define KEY_F4 $73
.define KEY_F5 $74
.define KEY_F6 $75
.define KEY_F7 $76
.define KEY_F8 $77
.define KEY_F9 $78
.define KEY_F10 $79
.define KEY_F11 $7A
.define KEY_F12 $7B

;; Flags
.define KEY_PRESSED $80